
#include "common.h"
#include "include.h"
#include  "OLED.h"


/************************************************************************
     OLED 一行可以显示16个字符，可以显示8行。
************************************************************************/




#define XLevelL		0x00
#define XLevelH		0x10
#define XLevel		((XLevelH&0x0F)*16+XLevelL)
#define Max_Column	128
#define Max_Row		64
#define	Brightness	0xCF

/*
4线SPI使用说明：
VBT 供内部DC-DC电压，3.3~4.3V，如果使用5V电压，为保险起见串一个100~500欧的电阻
VCC 供内部逻辑电压 1.8~6V
GND 地

BS0 低电平
BS1 低电平
BS2 低电平

CS  片选管脚
DC  命令数据选择管脚
RES 模块复位管脚
D0（SCLK） ，时钟脚，由MCU控制
D1（MOSI） ，主输出从输入数据脚，由MCU控制

D2 悬空
D3-D7 ， 低电平 ， 也可悬空，但最好设为低电平
RD  低电平 ，也可悬空，但最好设为低电平
RW  低电平 ，也可悬空，但最好设为低电平
RD  低电平 ，也可悬空，但最好设为低电平
*/

#define X_WIDTH 128
#define Y_WIDTH 64
//======================================
const uint8 F6x8[][6] =
{
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   // sp
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $
    { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },   // %
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +
    { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },   // ,
    { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },   // -
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @
    { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },   // A
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [
    { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55
    { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ]
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f
    { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },   // g
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i
    { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },   // j
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o
    { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },   // p
    { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },   // q
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x
    { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },   // y
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z
    { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }    // horiz lines
};
const uint8 F14x16_Idx[] =
{
	"　摄像头偏差：←赛道信息已提取未宽度紧急停车！斜率有效点默认更新"
};
const uint8 F14x16[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"　",0*/
0x00,0x10,0xFE,0x10,0x90,0x84,0xFC,0xB4,0xB4,0xB4,0xB4,0xFC,0x84,0x00,0x00,0x43,
0x7F,0x01,0x00,0x4A,0x32,0x3E,0xC2,0x4E,0x32,0x7B,0x46,0x40,/*"摄",0*/
0x00,0xC0,0xF8,0x0E,0x30,0xF8,0x9C,0x9A,0xF8,0x98,0x90,0xF0,0x90,0x00,0x00,0x00,
0x7F,0x00,0x12,0x2A,0x2D,0x57,0xCA,0x7E,0x06,0x19,0x20,0x00,/*"像",1*/
0x00,0x00,0x60,0x44,0xCC,0x18,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
0xC2,0x42,0x22,0x32,0x1A,0x0F,0x12,0x12,0x32,0x62,0x42,0x00,/*"头",2*/
0x00,0xC0,0xE0,0x1C,0x04,0xFC,0xA4,0xA4,0xA6,0xA4,0xA4,0xBC,0x80,0x00,0x00,0x00,
0x7F,0x00,0x18,0x07,0xFF,0x04,0x3F,0x04,0x3F,0xC4,0x7F,0x00,/*"偏",3*/
0x00,0x08,0x48,0x48,0x4A,0xCC,0x78,0x48,0x48,0x4E,0x48,0x48,0x08,0x00,0x00,0x61,
0x31,0x59,0x47,0x4B,0x49,0x79,0x79,0x49,0x49,0x49,0x41,0x00,/*"差",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"：",5*/
0x00,0x00,0x00,0x80,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,/*"←",0*/
0x00,0x00,0x0C,0x48,0x68,0xF8,0x66,0x68,0xF8,0x68,0x78,0x08,0x00,0x00,0x00,0x08,
0x85,0x85,0x5F,0x44,0x3D,0x25,0x25,0x5F,0x45,0x05,0x04,0x00,/*"赛",0*/
0x00,0x40,0xC4,0x48,0x10,0x10,0xCA,0x34,0x50,0x48,0xD6,0x10,0x08,0x00,0x00,0x20,
0x1F,0x10,0x20,0x40,0x5F,0x55,0x55,0x55,0x4F,0x40,0x40,0x00,/*"道",1*/
0x00,0x80,0xE0,0x1C,0x12,0x10,0x50,0x52,0x4C,0x50,0x50,0x28,0x08,0x00,0x00,0x00,
0x7F,0x00,0x00,0x00,0x7D,0x45,0x45,0x45,0x45,0x7D,0x00,0x00,/*"信",2*/
0x00,0x00,0x00,0xFC,0xA8,0xA4,0xAA,0xA8,0xA8,0xA8,0xFC,0x00,0x00,0x00,0x00,0x20,
0x30,0x03,0x3E,0x42,0x42,0x4E,0x42,0x62,0x03,0x08,0x30,0x00,/*"息",3*/
0x00,0x00,0xE4,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xFC,0x00,0x00,0x00,0x00,0x00,
0x1F,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x38,0x20,0x00,/*"已",4*/
0x00,0x10,0x10,0xFE,0x90,0x90,0xFC,0x54,0x54,0x54,0x7C,0x00,0x00,0x00,0x00,0x02,
0x41,0x3F,0x60,0x1B,0x15,0x21,0x3F,0x49,0x49,0x49,0x41,0x00,/*"提",5*/
0x00,0x04,0xFC,0x24,0x24,0xFC,0x12,0x70,0x90,0x10,0xD0,0x38,0x00,0x00,0x00,0x10,
0x0F,0x09,0x09,0x7F,0x44,0x20,0x13,0x0E,0x11,0x20,0x20,0x00,/*"取",6*/
0x00,0x80,0x80,0x90,0x90,0x90,0xFC,0x92,0x90,0x90,0x88,0x80,0x80,0x00,0x00,0x20,
0x10,0x08,0x04,0x02,0x7F,0x01,0x02,0x0C,0x18,0x30,0x00,0x00,/*"未",7*/
0x00,0x00,0x58,0xC8,0xC8,0x78,0x4A,0xCC,0x78,0x48,0x58,0x28,0x08,0x00,0x00,0x80,
0x80,0x9F,0x40,0x31,0x0F,0x7E,0x41,0x4F,0x40,0x60,0x40,0x00,/*"宽",0*/
0x00,0x00,0xF8,0x48,0x48,0xE8,0x58,0x46,0x48,0xF8,0x48,0x28,0x00,0x00,0x40,0x38,
0x87,0x80,0x80,0x44,0x4D,0x35,0x35,0x4D,0x42,0x40,0x40,0x00,/*"度",1*/
0x00,0x00,0x7C,0x00,0x7E,0x80,0x44,0x4C,0x34,0xA4,0x74,0x4C,0xC0,0x00,0x00,0x40,
0x48,0x2B,0x1F,0xCE,0xCA,0x7A,0x09,0x18,0x2E,0x58,0x40,0x00,/*"紧",0*/
0x00,0x60,0xB0,0xB8,0xAE,0xAA,0xA8,0xA8,0xB8,0xA8,0xA0,0xE0,0x00,0x00,0x00,0x70,
0x1A,0x02,0x7A,0x42,0x42,0x5A,0x42,0x42,0x26,0x1B,0x30,0x00,/*"急",1*/
0x00,0xE0,0xF8,0x06,0x00,0x04,0x74,0x54,0x56,0x54,0x54,0x74,0x04,0x00,0x00,0x00,
0x7F,0x00,0x03,0x01,0x05,0xC5,0x7D,0x05,0x05,0x05,0x03,0x00,/*"停",2*/
0x00,0x08,0x88,0xC8,0x68,0x18,0x0E,0xE8,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x08,
0x09,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x08,0x00,/*"车",3*/
0x00,0x00,0x00,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"！",4*/
0x00,0x60,0x30,0x2C,0xE6,0x28,0x18,0x10,0x8C,0x10,0x00,0xFE,0x00,0x00,0x00,0x31,
0x49,0x41,0x7F,0x09,0x39,0x08,0x0D,0x05,0x04,0xFF,0x04,0x00,/*"斜",0*/
0x00,0x18,0x28,0x28,0x48,0x68,0xDE,0x4C,0x28,0x08,0xE8,0x38,0x08,0x00,0x00,0x0A,
0x0B,0x09,0x0A,0x0B,0xFE,0xFE,0x0B,0x0B,0x09,0x09,0x08,0x00,/*"率",1*/
0x00,0x08,0x08,0x88,0xC8,0x78,0x4E,0x48,0x48,0x48,0x48,0xC8,0x08,0x00,0x00,0x06,
0x03,0x01,0x7F,0x0A,0x0A,0x0A,0x0A,0x4A,0x4A,0x7F,0x00,0x00,/*"有",2*/
0x00,0x88,0x68,0x0E,0x0C,0x68,0x88,0xC0,0xB8,0x16,0x10,0xF0,0x10,0x00,0x00,0x61,
0x22,0x1E,0x0E,0x3B,0xC0,0x40,0x23,0x1C,0x3E,0x61,0xC0,0x00,/*"效",3*/
0x00,0x00,0x00,0xC0,0x40,0x40,0x7E,0x48,0x48,0x48,0xC8,0x08,0x08,0x00,0x00,0x60,
0x30,0x07,0x04,0x64,0x04,0x04,0x74,0x44,0x07,0x30,0x60,0x00,/*"点",4*/
0x00,0x7C,0x5C,0xFC,0x64,0x5C,0x7C,0x40,0x40,0xFE,0x40,0x48,0x50,0x00,0x00,0x7D,
0x05,0x37,0x15,0x25,0x5D,0x60,0x18,0x07,0x07,0x38,0x60,0x00,/*"默",0*/
0x00,0x40,0x40,0xCC,0x08,0x00,0x00,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x3F,0x58,0x64,0x30,0x0E,0x01,0x07,0x18,0x60,0x40,0x00,/*"认",1*/
0x00,0x04,0xF4,0xF4,0x94,0x94,0x94,0xFC,0x94,0x94,0xF4,0xF4,0x04,0x00,0x00,0xC0,
0x43,0x47,0x6A,0x32,0x3E,0x23,0x62,0x42,0x43,0x43,0x40,0x00,/*"更",0*/
0x00,0xC8,0xF8,0xC8,0xCE,0xF8,0xC8,0xC0,0xFC,0x44,0x44,0xC6,0x42,0x00,0x00,0x32,
0x5A,0xC2,0x7F,0x0A,0x12,0xE0,0x3F,0x00,0x00,0xFF,0x00,0x00,/*"新",1*/
};

//======================================================
// 128X64I液晶底层驱动[8X16]字体库
// 设计者: powerint
// 描  述: [8X16]西文字符的字模数据 (纵向取模,字节倒序)
// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
//======================================================
const uint8 F8X16[]=
{
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
  0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//!1
  0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"2
  0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//#3
  0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$4
  0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//%5
  0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//&6
  0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'7
  0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//(8
  0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//)9
  0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//*10
  0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+11
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//,12
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//-13
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//.14
  0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,///15
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//016
  0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//117
  0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//218
  0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//319
  0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//420
  0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//521
  0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//622
  0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//723
  0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//824
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//925
  0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:26
  0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//;27
  0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//<28
  0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//=29
  0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//>30
  0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//?31
  0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@32
  0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A33
  0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B34
  0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C35
  0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D36
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E37
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F38
  0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G39
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H40
  0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I41
  0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J42
  0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K43
  0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L44
  0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M45
  0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N46
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O47
  0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P48
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q49
  0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R50
  0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S51
  0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T52
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U53
  0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V54
  0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W55
  0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X56
  0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y57
  0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z58
  0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[59
  0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\60
  0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//]61
  0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^62
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_63
  0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//`64
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a65
  0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b66
  0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c67
  0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d68
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e69
  0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f70
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g71
  0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h72
  0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i73
  0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j74
  0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k75
  0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l76
  0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m77
  0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n78
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o79
  0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p80
  0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q81
  0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r82
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s83
  0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t84
  0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u85
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v86
  0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w87
  0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x88
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y89
  0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z90
  0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{91
  0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//|92
  0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//}93
  0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~94

};
//数据水平，字节垂直
uint8 lanzhou96x64[768] = {
/*
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X80,0X80,0XC0,0XC0,0XC0,0X60,0X60,0X60,0X30,0X30,0X30,0X38,0X18,0X18,
0X18,0X18,0X0C,0X0C,0X0C,0X0C,0X0C,0X0E,0X0E,0X0E,0X06,0X06,0X06,0X06,0X06,0X06,
0X06,0X06,0X06,0X06,0X06,0X06,0X06,0X0E,0X0E,0X0C,0X0C,0X0C,0X0C,0X0C,0X1C,0X18,
0X18,0X18,0X18,0X30,0X30,0X30,0X70,0X60,0X60,0XE0,0XC0,0XC0,0X80,0X80,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0X70,0X30,0X38,0X1C,0X0C,0X06,
0X07,0X03,0X03,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X80,0X80,
0XF0,0XF8,0XF8,0XF0,0X80,0X00,0X00,0X80,0XE0,0XF0,0XF8,0XFC,0X3C,0X1C,0X0C,0X0C,
0X1C,0XFC,0XF8,0XF0,0XE0,0X80,0X00,0X00,0X00,0XC0,0XC0,0XC1,0X01,0X03,0X03,0X07,
0X06,0X0E,0X0C,0X18,0X38,0X70,0X60,0XC0,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0XC0,0XF0,0X78,0X1E,0X07,0X33,0X31,0X38,0X78,0XFC,0XFE,0XF6,0XC0,0X80,
0X00,0X00,0X00,0X00,0XC0,0XC0,0X80,0X00,0XF8,0XFC,0XDE,0X0E,0X0F,0X1E,0XBE,0XFC,
0XF0,0X06,0XFF,0XFF,0XFF,0XFF,0X03,0X07,0XFF,0XFF,0XFE,0X80,0X1E,0X3F,0XFF,0XFF,
0XF9,0XF9,0XFF,0XFF,0X7F,0X1F,0X0E,0X7F,0XFF,0XFF,0XFF,0XC1,0X80,0XCE,0XCE,0XC6,
0XC0,0XFF,0XFF,0XFF,0XFF,0X3F,0X80,0XFC,0XFC,0XFD,0X7D,0X01,0XC0,0XF8,0XF8,0XF0,
0X70,0X00,0XC0,0X80,0X80,0X80,0X00,0X00,0X01,0X07,0X0E,0X3C,0XF8,0XE0,0X80,0X00,
0X00,0XFE,0XFF,0X03,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X0F,0X1F,0X7F,
0XFE,0XFC,0XF0,0XF0,0XF0,0X7F,0X7F,0X3E,0X10,0X03,0X03,0X0F,0X1F,0X1F,0X0F,0X0F,
0X03,0X04,0X07,0X07,0X07,0X07,0X06,0X00,0X07,0X07,0X07,0X0F,0X1E,0X3F,0X7F,0X7F,
0X7F,0X79,0X73,0X3F,0X3F,0X1F,0X0E,0X00,0X01,0X03,0X03,0X07,0X07,0X06,0X0E,0X0F,
0X0F,0X1F,0X3F,0X3D,0X08,0X0C,0X1F,0X1F,0X1F,0X19,0X3C,0X7F,0X7F,0X7F,0XF3,0XF0,
0XFC,0XFE,0X3F,0X1F,0X07,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XCF,0XFF,0X70,
0X00,0X03,0X1F,0X7E,0XF0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X03,0X03,0X01,0X01,0X00,0X00,0X00,0X00,0XC0,0XC0,0X40,0X40,0X40,0X40,0XF8,0X78,
0X40,0XC0,0X40,0X58,0X58,0X40,0X40,0X40,0X00,0X00,0X00,0X00,0X00,0X80,0X80,0X80,
0X00,0X00,0X00,0X00,0X00,0X00,0X60,0XF0,0XE0,0X20,0X20,0X20,0X20,0X30,0X30,0X38,
0X18,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XE0,0XF8,0X3F,0X0F,0X00,
0X00,0X00,0X00,0X00,0X00,0X03,0X07,0X0E,0X1C,0X38,0X30,0X60,0XE0,0XC0,0X80,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X40,0X60,0X60,0X70,0X30,0X18,0X0C,0X07,0X11,0X08,
0X3F,0X7D,0X66,0XE7,0XE3,0XC0,0XC0,0XC0,0XE0,0X60,0X00,0X00,0X00,0X03,0X03,0X03,
0X00,0X00,0X60,0X60,0X60,0X60,0X60,0X7F,0X7F,0X61,0X61,0X61,0X61,0X7F,0X7F,0X61,
0X61,0XE1,0XE0,0XE0,0XC0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X80,0XC0,0XC0,0XE0,0X70,0X38,0X18,0X0C,0X07,0X03,0X01,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X03,
0X03,0X06,0X06,0X0C,0X0C,0X18,0X18,0X38,0X30,0X30,0X70,0X60,0X60,0XE0,0XC0,0XC0,
0XC0,0XC0,0XC0,0X80,0X80,0X80,0X81,0X80,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X80,0X80,0X80,0X80,0X80,0X80,0X80,0X80,0X80,0X80,0XC0,0XC0,
0XC0,0XC0,0XC0,0X60,0X60,0X60,0X30,0X30,0X30,0X18,0X18,0X1C,0X0C,0X0E,0X06,0X07,
0X03,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X03,0X03,0X03,0X03,0X03,0X03,0X03,
0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0x60,0x60,0x20,0x20,0x20,0xA0,0xA0,
0xA0,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0x70,0x70,0x60,0x60,0xF0,0x70,0x60,0x60,0x60,
0x60,0x60,0x60,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0x70,0x70,0x70,0x60,0x60,
0x60,0x60,0x60,0x60,0xE0,0xE0,0xE0,0x80,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0xB0,0xF0,0x70,0x30,
0xE0,0xF8,0x7C,0x1E,0x07,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x01,0x03,0x87,0x8F,0xCF,0xFF,0xFE,0xFE,0xFC,0xFC,0xF0,0xE0,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0x00,0xFF,0x00,0x00,0x08,0x0E,0x1F,0x3A,0x62,0xC2,0x02,
0x02,0x02,0x00,0x00,0x03,0x03,0xF8,0xF8,0xF8,0x18,0x18,0x18,0xFC,0xFC,0x18,0x18,
0x18,0xF8,0xF8,0xF8,0x03,0x03,0xFF,0xFF,0x31,0x31,0x31,0xFF,0xFF,0x31,0x31,0x31,
0x31,0x31,0xFF,0xFF,0x00,0x18,0x18,0x18,0x18,0x18,0x1E,0x3F,0xFF,0xF8,0x18,0x18,
0xFF,0xFF,0x00,0xC0,0x80,0x80,0x80,0x80,0xE0,0xE0,0xE0,0xF0,0xF8,0xF8,0xFC,0x7E,
0x7F,0x3F,0x3F,0x1F,0x0F,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x1F,0x1F,0x00,0x00,0x80,
0xB0,0xB0,0xBF,0xB7,0xB3,0xB3,0xB3,0xBF,0xBF,0xB3,0xB3,0xBF,0xBF,0xB3,0xB3,0xB3,
0xB7,0xBF,0xB0,0xB0,0x80,0x80,0xBF,0xBF,0xBF,0xB1,0xB1,0xB1,0xBF,0xBF,0xB1,0xB1,
0xB1,0xBF,0xBF,0xBF,0x80,0x80,0x87,0x87,0x86,0x86,0x86,0xBF,0xBF,0xB6,0xB6,0xB6,
0xB6,0xB6,0xB7,0xB7,0xB0,0xB0,0xB8,0xB8,0x80,0x88,0x98,0xB8,0xBF,0xBF,0x80,0x80,
0x1F,0x3F,0x70,0xEF,0xDF,0x9F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xE3,0xC0,0x80,
0x00,0x80,0x00,0x80,0xC0,0xC0,0x40,0x00,0xE0,0xF8,0x1E,0x00,0x00,0x00,0x00,0xF1,
0xF1,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x41,0x21,0x11,0x11,0x11,0x21,
0x41,0x81,0x01,0x01,0xF1,0xF1,0x61,0xE1,0x81,0x01,0x01,0x01,0x01,0x01,0xF1,0xF1,
0x01,0xF1,0xF1,0x31,0x31,0x31,0x61,0xC1,0x81,0x01,0x01,0x31,0x31,0x31,0x31,0x31,
0x31,0x31,0x31,0xF1,0xF1,0x71,0x01,0xF1,0xF1,0x31,0x31,0x31,0x31,0xF1,0xF1,0xF1,
0x00,0x00,0x00,0x00,0x03,0x03,0x07,0x0E,0x1C,0x1C,0x19,0x1B,0x1B,0x1B,0x1B,0x1B,
0x1B,0x1B,0x09,0x0D,0x04,0x06,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0xFF,0xFF,0x00,0xFF,0xFF,0x00,0x01,0x07,0x1E,0x78,0xE0,0x80,0x00,0xFF,0xFF,
0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x81,0xFF,0x7E,0x00,0x80,0xC0,0xE0,0xF0,
0x38,0x1E,0x07,0x03,0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0x0F,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x06,0x0F,0x0F,
0x00,0x0F,0x0F,0x0C,0x0C,0x0C,0x06,0x03,0x01,0x00,0x00,0x0E,0x0F,0x0F,0x0D,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x0F,0x0F,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};
const uint8 LIBLOGO60x58[480] = {
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0XC0,0XE0,0XF8,0XFC,0XFE,0X7F,0X3F,0X0F,0X0F,0X07,0X07,0X07,0X87,0XC7,
  0XC7,0XC7,0XE7,0XEF,0XFF,0XFF,0XFF,0XEF,0XE7,0XE7,0XE7,0XE7,0XE7,0XEF,0XFF,0XFF,
  0XFF,0XEF,0XE7,0XE7,0XE7,0XE7,0XE7,0XF7,0X07,0X0F,0X3F,0X7F,0XFF,0XFE,0XFC,0XF0,
  0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XD8,0XDC,0XDF,0XDF,0XDF,
  0XDF,0XD7,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X3E,0X7F,0XFF,0XFF,0XE3,0XE1,0XE1,
  0XFF,0XFF,0XFF,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XFF,0XFF,0XFF,0XE0,0XE0,0XE0,
  0XE0,0XC1,0X83,0X07,0X00,0X00,0X00,0X00,0X01,0XD7,0XDF,0XDF,0XDF,0XDF,0XDC,0XD8,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X0F,0X1F,0X3F,0XFF,0XFF,0XFE,0XF8,
  0XF0,0XE0,0XC0,0X80,0X00,0X00,0XF8,0XF0,0XE0,0XC0,0XC0,0XC0,0XFF,0XFF,0XFF,0XC0,
  0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XFF,0XFF,0XFF,0XC0,0XE0,0XE1,0XF3,0XFF,0X7F,0X3F,
  0X00,0XC0,0XE0,0XF8,0XFE,0XFF,0XFF,0XFF,0X3F,0X1F,0X07,0X01,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0F,0X3F,0X7F,0XFF,
  0XFE,0XFC,0XF9,0XF3,0XC1,0X81,0X01,0X01,0XFF,0XFF,0XFF,0X01,0X01,0X01,0X01,0X01,
  0X01,0X01,0XFF,0XFF,0XFF,0X03,0X01,0X81,0XC0,0XF0,0XFC,0XFE,0XFF,0XFF,0X7F,0X3F,
  0X0F,0X07,0X03,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X07,0X0F,0X3F,
  0X7F,0XFF,0XFF,0XFF,0XFB,0XF3,0XE3,0XC3,0X03,0X03,0X03,0X03,0X03,0X83,0XC3,0XF3,
  0XF3,0XFB,0XFF,0XFF,0XFF,0X7F,0X3F,0X0F,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X07,
  0X07,0X1F,0X3F,0X7F,0XFF,0XFE,0XFC,0XFC,0XFE,0XFF,0XFF,0X7F,0X3F,0X0F,0X07,0X03,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X03,0X07,0X0F,0X0F,0X07,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
};
uint8 LANDZO_LOGO[300] ={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0x60,0x30,0x10,0x18,0x08,
0x04,0x14,0x10,0x1A,0x18,0x18,0x1C,0x1C,0x1C,0x1C,0x3C,0x3C,0x3C,0x3C,0x7C,0x7C,
0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8,0x7E,0x1F,0x07,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x01,0x03,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,
0xE0,0x80,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x07,0x00,0xF8,0xF8,0xF0,0xF0,0xE0,
0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,
0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xF8,0xC0,0x0F,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x0F,0x07,0x03,0x03,0x01,
0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x01,0x03,0x03,0x07,0x03,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x7F,0xFE,
0xFC,0xF1,0xE7,0xCF,0x9F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0xF0,0xE0,0xE0,0xC0,
0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x03,0x03,0x07,0x0F,0x0F,0x1E,0x1E,0x1C,0x39,0x39,0x3B,0x73,0x73,
0x77,0x67,0x67,0x67,0x67,0x67,0x67,0x27,0x27,0x36,0x36,0x16,0x12,0x0A,0x0A,0x04,
0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

void Dly_ms(uint16 ms)
{
   uint16 ii,jj;
   if (ms<1) ms=1;
   ms = ms*12 ;
   for(ii=0;ii<ms;ii++)
     for(jj=0;jj<1335;jj++);  //16MHz--1ms
  //   for(jj=0;jj<4006;jj++);  //48MHz--1ms
     //for(jj=0;jj<5341;jj++);    //64MHz--1ms
}

void OLED_WrDat(uint8 data)
{
	uint8 i=8;
	//LCD_CS=0;;
	OLED_DC=1;
  OLED_SCL=0;
  //asm("nop");
  while(i--)
  {
    if(data&0x80){OLED_SDA=1;}
    else{OLED_SDA=0;}
    OLED_SCL=1;
    asm("nop");;
		//asm("nop");
    OLED_SCL=0;;
    data<<=1;
  }
	//LCD_CS=1;
}
void OLED_WrCmd(uint8 cmd)
{
	uint8 i=8;

	//LCD_CS=0;;
	OLED_DC=0;;
  OLED_SCL=0;;
  //asm("nop");
  while(i--)
  {
    if(cmd&0x80){OLED_SDA=1;}
    else{OLED_SDA=0;;}
    OLED_SCL=1;;
    asm("nop");;
		//asm("nop");
    OLED_SCL=0;;
    cmd<<=1;;
  }

}
void OLED_Set_Pos(uint8 x, uint8 y)
{
  OLED_WrCmd(0xb0+y);
  OLED_WrCmd(((x&0xf0)>>4)|0x10);
  OLED_WrCmd((x&0x0f)|0x01);
}
void OLED_Fill(uint8 bmp_data)
{
	uint8 y,x;

	for(y=0;y<8;y++)
	{
		OLED_WrCmd(0xb0+y);
		OLED_WrCmd(0x01);
		OLED_WrCmd(0x10);
		for(x=0;x<X_WIDTH;x++)
			OLED_WrDat(bmp_data);
	}
}
void OLED_CLS(void)
{
	uint8 y,x;
	for(y=0;y<8;y++)
	{
		OLED_WrCmd(0xb0+y);
		OLED_WrCmd(0x01);
		OLED_WrCmd(0x10);
		for(x=0;x<X_WIDTH;x++)
			OLED_WrDat(0);
	}
}
void OLED_DLY_ms(uint16 ms)
{
  uint16 a;
  while(ms)
  {
    a=16000;
    while(a--);
    ms--;
  }
  return;
}

void OLED_Init(void)
{

         gpio_init (OLEDPT1, GPO,HIGH);
         gpio_init (OLEDPT2, GPO,HIGH);
         gpio_init (OLEDPT3, GPO,HIGH);
         gpio_init (OLEDPT4, GPO,HIGH);
         //gpio_init (PTC15, GPO,LOW);

	OLED_SCL=1;
	//LCD_CS=1;	//预制SLK和SS为高电平
	//OLED_CS = 0 ; ///使能信号端，拉低时正常使用
	OLED_RST=0;
	OLED_DLY_ms(50);
	OLED_RST=1;

  OLED_WrCmd(0xae);//--turn off oled panel
  OLED_WrCmd(0x00);//---set low column address
  OLED_WrCmd(0x10);//---set high column address
  OLED_WrCmd(0x40);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
  OLED_WrCmd(0x81);//--set contrast control register
  OLED_WrCmd(0xcf); // Set SEG Output Current Brightness
  OLED_WrCmd(0xa1);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
  OLED_WrCmd(0xc8);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
  OLED_WrCmd(0xa6);//--set normal display
  OLED_WrCmd(0xa8);//--set multiplex ratio(1 to 64)
  OLED_WrCmd(0x3f);//--1/64 duty
  OLED_WrCmd(0xd3);//-set display offset	Shift Mapping RAM Counter (0x00~0x3F)
  OLED_WrCmd(0x00);//-not offset
  OLED_WrCmd(0xd5);//--set display clock divide ratio/oscillator frequency
  OLED_WrCmd(0x80);//--set divide ratio, Set Clock as 100 Frames/Sec
  OLED_WrCmd(0xd9);//--set pre-charge period
  OLED_WrCmd(0xf1);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
  OLED_WrCmd(0xda);//--set com pins hardware configuration
  OLED_WrCmd(0x12);
  OLED_WrCmd(0xdb);//--set vcomh
  OLED_WrCmd(0x40);//Set VCOM Deselect Level
  OLED_WrCmd(0x20);//-Set Page Addressing Mode (0x00/0x01/0x02)
  OLED_WrCmd(0x02);//
  OLED_WrCmd(0x8d);//--set Charge Pump enable/disable
  OLED_WrCmd(0x14);//--set(0x10) disable
  OLED_WrCmd(0xa4);// Disable Entire Display On (0xa4/0xa5)
  OLED_WrCmd(0xa6);// Disable Inverse Display On (0xa6/a7)
  OLED_WrCmd(0xaf);//--turn on oled panel
  OLED_Fill(0x00);  //初始清屏
  OLED_Set_Pos(0,0);

}
//==============================================================
//函数名： void LCD_PutPixel(uint8 x,uint8 y)
//功能描述：绘制一个点（x,y）
//参数：真实坐标值(x,y),x的范围0～127，y的范围0～64
//返回：无
//==============================================================
void OLED_PutPixel(uint8 x,uint8 y)
{
	uint8 data1;  //data1当前点的数据

  OLED_Set_Pos(x,y);
	data1 = 0x01<<(y%8);
	OLED_WrCmd(0xb0+(y>>3));
	OLED_WrCmd(((x&0xf0)>>4)|0x10);
	OLED_WrCmd((x&0x0f)|0x00);
	OLED_WrDat(data1);
}
//==============================================================
//函数名： void LCD_Rectangle(uint8 x1,uint8 y1,
//                   uint8 x2,uint8 y2,uint8 color,uint8 gif)
//功能描述：绘制一个实心矩形
//参数：左上角坐标（x1,y1）,右下角坐标（x2，y2）
//      其中x1、x2的范围0～127，y1，y2的范围0～63，即真实坐标值
//返回：无
//==============================================================
void OLED_Rectangle(uint8 x1,uint8 y1,uint8 x2,uint8 y2,uint8 gif)
{
	uint8 n;

	OLED_Set_Pos(x1,y1>>3);
	for(n=x1;n<=x2;n++)
	{
		OLED_WrDat(0x01<<(y1%8));
		if(gif == 1) 	OLED_DLY_ms(50);
	}
	OLED_Set_Pos(x1,y2>>3);
  for(n=x1;n<=x2;n++)
	{
		OLED_WrDat(0x01<<(y2%8));
		if(gif == 1) 	OLED_DLY_ms(5);
	}

}
//==============================================================
//函数名：LCD_P6x8Str(uint8 x,uint8 y,uint8 *p)
//功能描述：写入一组标准ASCII字符串
//参数：显示的位置（x,y），y为页范围0～7，要显示的字符串
//返回：无
//==============================================================
void OLED_P6x8Str(uint8 x,uint8 y,uint8 ch[])
{
  uint8 c=0,i=0,j=0;
  while (ch[j]!='\0')
  {
    c =ch[j]-32;
    if(x>126){x=0;y++;}
    OLED_Set_Pos(x,y);
  	for(i=0;i<6;i++)
  	  OLED_WrDat(F6x8[c][i]);
  	x+=6;
  	j++;
  }
}
//==============================================================
//函数名：LCD_P8x16Str(uint8 x,uint8 y,uint8 *p)
//功能描述：写入一组标准ASCII字符串
//参数：显示的位置（x,y），y为页范围0～7，要显示的字符串
//返回：无
//==============================================================
void OLED_P8x16Str(uint8 x,uint8 y,uint8 ch[])
{
  uint8 c=0,i=0,j=0;

  while (ch[j]!='\0')
  {
    c =ch[j]-32;
    if(x>120){x=0;y++;}
    OLED_Set_Pos(x,y);
  	for(i=0;i<8;i++)
  	  OLED_WrDat(F8X16[c*16+i]);
  	OLED_Set_Pos(x,y+1);
  	for(i=0;i<8;i++)
  	  OLED_WrDat(F8X16[c*16+i+8]);
  	x+=8;
  	j++;
  }
}
//输出汉字字符串
void OLED_P14x16Str(uint8 x,uint8 y,uint8 ch[])
{
	uint8 wm=0,ii = 0;
	uint16 adder=1;

	while(ch[ii] != '\0')
	{
  	wm = 0;
  	adder = 1;
  	while(F14x16_Idx[wm] > 127)
  	{
  		if(F14x16_Idx[wm] == ch[ii])
  		{
  			if(F14x16_Idx[wm + 1] == ch[ii + 1])
  			{
  				adder = wm * 14;
  				break;
  			}
  		}
  		wm += 2;
  	}
  	if(x>118){x=0;y++;}
  	OLED_Set_Pos(x , y);
  	if(adder != 1)// 显示汉字
  	{
  		OLED_Set_Pos(x , y);
  		for(wm = 0;wm < 14;wm++)
  		{
  			OLED_WrDat(F14x16[adder]);
  			adder += 1;
  		}
  		OLED_Set_Pos(x,y + 1);
  		for(wm = 0;wm < 14;wm++)
  		{
  			OLED_WrDat(F14x16[adder]);
  			adder += 1;
  		}
  	}
  	else			  //显示空白字符
  	{
  		ii += 1;
      OLED_Set_Pos(x,y);
  		for(wm = 0;wm < 16;wm++)
  		{
  				OLED_WrDat(0);
  		}
  		OLED_Set_Pos(x,y + 1);
  		for(wm = 0;wm < 16;wm++)
  		{
  				OLED_WrDat(0);
  		}
  	}
  	x += 14;
  	ii += 2;
	}
}
//输出汉字和字符混合字符串
void OLED_Print(uint8 x, uint8 y, uint8 ch[])
{
	uint8 ch2[3];
	uint8 ii=0;
	while(ch[ii] != '\0')
	{
		if(ch[ii] > 127)
		{
			ch2[0] = ch[ii];
	 		ch2[1] = ch[ii + 1];
			ch2[2] = '\0';			//汉字为两个字节
			OLED_P14x16Str(x , y, ch2);	//显示汉字
			x += 14;
			ii += 2;
		}
		else
		{
			ch2[0] = ch[ii];
			ch2[1] = '\0';			//字母占一个字节
			OLED_P8x16Str(x , y , ch2);	//显示字母
			x += 8;
			ii+= 1;
		}
	}
}
void Display_integer3 (uint8 x,uint8 y,int16 i)
{
  int8 a[3]={0};

  a[0] = i/100;
  a[1] = i%100/10;
  a[2] = i%10;
      for(uint8 j=0;j<3;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P8x16Str(x,y,"0");}break;
           case 1:{OLED_P8x16Str(x,y,"1");}break;
           case 2:{OLED_P8x16Str(x,y,"2");}break;
           case 3:{OLED_P8x16Str(x,y,"3");}break;
           case 4:{OLED_P8x16Str(x,y,"4");}break;
           case 5:{OLED_P8x16Str(x,y,"5");}break;
           case 6:{OLED_P8x16Str(x,y,"6");}break;
           case 7:{OLED_P8x16Str(x,y,"7");}break;
           case 8:{OLED_P8x16Str(x,y,"8");}break;
           case 9:{OLED_P8x16Str(x,y,"9");}break;
           default:break;
          }
         x+=8;
//         if(x==80)
//           x=20;
         }
}
//==============================================================
//函数名：void Display(int16 i,uint8 x,uint8 y)
//功能描述：显示动态正负数字
//参数：起始点坐标(x,y),x的范围0～127，y为页的范围0～7
//返回：无
//==============================================================
void Display_number (uint8 x,uint8 y,int16 i)
{
      int8 a[5]={0};
      if(i<0)
      {
        a[0]='-';
      i=-i;
      }
      else
       a[0]='+';
   a[1] = i/1000;
   a[2] = i/100%10;
   a[3] = i%100/10;
   a[4] = i%10;
      for(uint8 j=0;j<5;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P6x8Str(x,y,"0");}break;
           case 1:{OLED_P6x8Str(x,y,"1");}break;
           case 2:{OLED_P6x8Str(x,y,"2");}break;
           case 3:{OLED_P6x8Str(x,y,"3");}break;
           case 4:{OLED_P6x8Str(x,y,"4");}break;
           case 5:{OLED_P6x8Str(x,y,"5");}break;
           case 6:{OLED_P6x8Str(x,y,"6");}break;
           case 7:{OLED_P6x8Str(x,y,"7");}break;
           case 8:{OLED_P6x8Str(x,y,"8");}break;
           case 9:{OLED_P6x8Str(x,y,"9");}break;
         case '-':{OLED_P6x8Str(x,y,"-");}break;
         case '+':{OLED_P6x8Str(x,y,"+");}break;
           default:break;
          }
         x+=6;
//         if(x==80)
//           x=20;
         }
}



void Display_number7 (uint8 x,uint8 y,int16 i)
{
      int8 a[8]={0};
      if(i<0)
      {
        a[0]='-';
      i=-i;
      }
      else
       a[0]='+';
   a[1] = i/1000000;
   a[2] = i/100000%10;
   a[3] = i/10000%10;
   a[4] = i/1000%10;
   a[5] = i/100%10;
   a[6] = i/10%10;
   a[7] = i%10;
      for(uint8 j=0;j<8;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P6x8Str(x,y,"0");}break;
           case 1:{OLED_P6x8Str(x,y,"1");}break;
           case 2:{OLED_P6x8Str(x,y,"2");}break;
           case 3:{OLED_P6x8Str(x,y,"3");}break;
           case 4:{OLED_P6x8Str(x,y,"4");}break;
           case 5:{OLED_P6x8Str(x,y,"5");}break;
           case 6:{OLED_P6x8Str(x,y,"6");}break;
           case 7:{OLED_P6x8Str(x,y,"7");}break;
           case 8:{OLED_P6x8Str(x,y,"8");}break;
           case 9:{OLED_P6x8Str(x,y,"9");}break;
         case '-':{OLED_P6x8Str(x,y,"-");}break;
         case '+':{OLED_P6x8Str(x,y,"+");}break;
           default:break;
          }
         x+=6;
//         if(x==80)
//           x=20;
         }
}


//==============================================================
//函数名：void DisplayFloat(int16 i,uint8 x,uint8 y)
//功能描述：显示动态浮点数字
//参数：起始点坐标(x,y),x的范围0～127，y为页的范围0～7
//返回：无
//==============================================================
void DisplayFloat3(uint8 x,uint8 y,int32 i)
{
      int8 a[6]={0};

      a[0]=i/10000;
      a[1]=i%10000/1000;
      a[2]='.';
      a[3]=i%1000/100;
      a[4]=i%100/10;
      a[5]=i%10;
      for(uint8 j=0;j<6;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P6x8Str(x,y,"0");}break;
           case 1:{OLED_P6x8Str(x,y,"1");}break;
           case 2:{OLED_P6x8Str(x,y,"2");}break;
           case 3:{OLED_P6x8Str(x,y,"3");}break;
           case 4:{OLED_P6x8Str(x,y,"4");}break;
           case 5:{OLED_P6x8Str(x,y,"5");}break;
           case 6:{OLED_P6x8Str(x,y,"6");}break;
           case 7:{OLED_P6x8Str(x,y,"7");}break;
           case 8:{OLED_P6x8Str(x,y,"8");}break;
           case 9:{OLED_P6x8Str(x,y,"9");}break;
           case '.':{OLED_P6x8Str(x,y,".");}break;
           default:break;
          }
         x+=6;
//         if(x==90)
//           x=20;
         }
}

//==============================================================
//函数名：OLED_P6x8char(unsigned char x,unsigned char y,unsigned char c)
//功能描述：写入一组标准ASCII字符串
//参数：显示的位置（x,y），y为页范围0～7，要显示的字符串
//返回：无
//==============================================================
void OLED_P6x8char(unsigned char x,unsigned char y,unsigned char c)
{
     unsigned char i=0;
     if(c <= 9)
     {
         c = c + 16 ;
     }
     else if(c>='A'&& c<='Z')
     {
          c = c - 'A'+ 33;
     }
     else if(c==' ')
     {
          c = 0;
     }
     else if(c==':')
     {
          c = 26;
     }
     else if(c=='-')
     {
          c = 13;
     }
     else if(c=='/')
     {
          c = 15;
     }
     else if(c=='.')
     {
          c = 14;
     }
     else if(c==',')
     {
          c = 12;
     }
     else if(c=='^')
     {
          c = 62;
     }
     OLED_Set_Pos(x,y);
     for(i=0; i<6;i++)
     {
        OLED_WrDat(F6x8[c][i]) ;
     }
}

//==============================================================
//函数名：OLED_P6x8fig3(unsigned char x,unsigned char y,unsigned short int num)
//功能描述：显示3位数
//参数：显示的位置（x,y），y为页范围0～7，
//返回：无
//==============================================================
void OLED_P6x8fig3(unsigned char x,unsigned char y,unsigned short int num)
{
    unsigned char bai,shi,ge;
    bai = num/100;
    shi = num%100/10;
    ge = num%10;
    OLED_P6x8char( x, y, bai);
    OLED_P6x8char( x+6, y, shi);
    OLED_P6x8char( x+12, y, ge);
}

//==============================================================
//函数名：OLED_P6x8fig4(unsigned char x,unsigned char y,unsigned short int num)
//功能描述：显示四位数
//参数：显示的位置（x,y），y为页范围0～7，
//返回：无
//==============================================================
void OLED_P6x8fig4(unsigned char x,unsigned char y,unsigned short int num)
{
    unsigned char qian,bai,shi,ge;
    qian = num/1000;
    bai = num%1000/100;
    shi = num%100/10;
    ge = num%10;
    OLED_P6x8char( x, y, qian);
    OLED_P6x8char( x+6, y, bai);
    OLED_P6x8char( x+12, y, shi);
    OLED_P6x8char( x+18, y, ge);
}
//==============================================================
//函数名：void Display(int16 i,uint8 x,uint8 y)
//功能描述：显示动态数字
//参数：起始点坐标(x,y),x的范围0～127，y为页的范围0～7
//返回：无
//==============================================================
void Displayvoid (uint8 x,uint8 y,int16 i)
{
      int8 a[6]={0};
      if(i<0)
      {
        a[0]='-';
      i=-i;
      }
      else
       a[0]='+';

      a[1]=i/10000;
      a[2]=i%10000/1000;
      a[3]=i%1000/100;
      a[4]=i%100/10;
      a[5]=i%10;
      for(uint8 j=0;j<6;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P6x8Str(x,y,"0");}break;
           case 1:{OLED_P6x8Str(x,y,"1");}break;
           case 2:{OLED_P6x8Str(x,y,"2");}break;
           case 3:{OLED_P6x8Str(x,y,"3");}break;
           case 4:{OLED_P6x8Str(x,y,"4");}break;
           case 5:{OLED_P6x8Str(x,y,"5");}break;
           case 6:{OLED_P6x8Str(x,y,"6");}break;
           case 7:{OLED_P6x8Str(x,y,"7");}break;
           case 8:{OLED_P6x8Str(x,y,"8");}break;
           case 9:{OLED_P6x8Str(x,y,"9");}break;
         case '-':{OLED_P6x8Str(x,y,"-");}break;
         case '+':{OLED_P6x8Str(x,y,"+");}break;
           default:break;
          }
         x+=6;
//         if(x==80)
//           x=20;
         }
}

//==============================================================
//函数名：void DisplayFloat(int16 i,uint8 x,uint8 y)
//功能描述：显示动态数字
//参数：起始点坐标(x,y),x的范围0～127，y为页的范围0～7
//返回：无
//==============================================================
//void DisplayFloat(uint8 x,uint8 y,int16 i)
//{
//      int8 a[6]={0};
//      if(i<0)
//      {
//        a[0]='-';
//      i=-i;
//      }
//      else
//        a[0]='+';
//
//      a[1]=i/10000;
//      a[2]=i%10000/1000;
//      a[3]='.';
//      a[4]=i%1000/100;
//      a[5]=i%100/10;
//      for(uint8 j=0;j<6;j++)
//      {
//         switch(a[j])
//         {
//           case 0:{OLED_P6x8Str(x,y,"0");}break;
//           case 1:{OLED_P6x8Str(x,y,"1");}break;
//           case 2:{OLED_P6x8Str(x,y,"2");}break;
//           case 3:{OLED_P6x8Str(x,y,"3");}break;
//           case 4:{OLED_P6x8Str(x,y,"4");}break;
//           case 5:{OLED_P6x8Str(x,y,"5");}break;
//           case 6:{OLED_P6x8Str(x,y,"6");}break;
//           case 7:{OLED_P6x8Str(x,y,"7");}break;
//           case 8:{OLED_P6x8Str(x,y,"8");}break;
//           case 9:{OLED_P6x8Str(x,y,"9");}break;
//         case '-':{OLED_P6x8Str(x,y,"-");}break;
//         case '+':{OLED_P6x8Str(x,y,"+");}break;
//         case '.':{OLED_P6x8Str(x,y,".");}break;
//           default:break;
//          }
//         x+=5;
//         if(x==90)
//           x=20;
//         }
//}
void DisplayFloat(uint8 x,uint8 y,float i)
{
      if(i<0)
      {
        OLED_P6x8Str(x,y,"-");
        i=-i;
      }
      else
       OLED_P6x8Str(x,y,"+");
    DisplayFloat3(x+6,y,(int32)(i*1000));
}

void DisplayFloatpid(uint8 x,uint8 y,float i)
{
  int in = (int)(i*100);
      int8 a[6]={0};

      a[0]=in/100;
      a[1]='.';
      a[2]=in/10%10;
      a[3]=in%10;
      for(uint8 j=0;j<4;j++)
      {
         switch(a[j])
         {
           case 0:{OLED_P6x8Str(x,y,"0");}break;
           case 1:{OLED_P6x8Str(x,y,"1");}break;
           case 2:{OLED_P6x8Str(x,y,"2");}break;
           case 3:{OLED_P6x8Str(x,y,"3");}break;
           case 4:{OLED_P6x8Str(x,y,"4");}break;
           case 5:{OLED_P6x8Str(x,y,"5");}break;
           case 6:{OLED_P6x8Str(x,y,"6");}break;
           case 7:{OLED_P6x8Str(x,y,"7");}break;
           case 8:{OLED_P6x8Str(x,y,"8");}break;
           case 9:{OLED_P6x8Str(x,y,"9");}break;
           case '.':{OLED_P6x8Str(x,y,".");}break;
           default:break;
          }
         x+=6;
//         if(x==90)
//           x=20;
         }
}

//==============================================================
//函数名： void Draw_BMP(uint8 x,uint8 y)
//功能描述：显示BMP图片128×64
//参数：起始点坐标(x,y),x的范围0～127，y为页的范围0～7
//返回：无
//==============================================================
void Draw_BMP(uint8 x0,uint8 y0,uint8 x1,uint8 y1,uint8 bmp[])
{
  uint16 ii=0;
  uint8 x,y;

  if(y1%8==0) y=y1/8;
  else y=y1/8+1;
	for(y=y0;y<=y1;y++)
	{
		OLED_Set_Pos(x0,y);
    for(x=x0;x<x1;x++)
	    {
	    	OLED_WrDat(bmp[ii++]);
	    }
	}
}

void Draw_LibLogo(void)
{
  uint16 ii=0;
  uint8 x,y;

	for(y=0;y<8;y++)
	{
		OLED_Set_Pos(34,y);
    for(x=34;x<94;x++)
	    {
	    	OLED_WrDat(LIBLOGO60x58[ii++]);
	    }
	}
}

void Draw_Landzo(void)
{
  uint16 ii=0;
  uint8 x,y;

	for(y=2;y<8;y++)
	{
		OLED_Set_Pos(40,y);
            for(x=40;x<90;x++)
	    {
	    	OLED_WrDat(LANDZO_LOGO[ii++]);
	    }
	}
}






void sendimg(uint8 *imgaddr, uint32 imgsize)
{
#define CMD_IMG 1
     uint8 cmdf[2] = {CMD_IMG, ~CMD_IMG};    //yy_摄像头串口调试 使用的命令
     uint8 cmdr[2] = {~CMD_IMG, CMD_IMG};    //yy_摄像头串口调试 使用的命令
    uart_putbuff(VCAN_PORT, cmdf, sizeof(cmdf));    //先发送命令

    uart_putbuff(VCAN_PORT, imgaddr, imgsize); //再发送图像
     uart_putbuff(VCAN_PORT, cmdr, sizeof(cmdr));    //再发送命令
}

